package com.stepcleanse.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.stepcleanse.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.stepcleanse.common.core.annotation.Excel;

/**
 * 售卖订单对象 sell_order
 * 
 * @author stepcleanse
 * @date 2024-12-09
 */
public class SellOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单号 */
    private String orderId;

    /** 买家手机号 */
    @Excel(name = "买家手机号")
    private String buyerPhone;

    /** 寄件人名字 */
    @Excel(name = "寄件人名字")
    private String senderName;

    /** 订单来源订单号：抖音等 */
    @Excel(name = "订单来源订单号：抖音等")
    private String sourceOrderId;

    /** 取鞋快递号 */
    @Excel(name = "取鞋快递号")
    private String pickupExpressNumber;

    /** 送鞋快递号 */
    @Excel(name = "送鞋快递号")
    private String deliveryExpressNumber;

    /** 支付日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDate;

    /** 销售门店 */
    @Excel(name = "销售门店")
    private String salesStore;

    /** 订单来源 */
    @Excel(name = "订单来源")
    private String orderSource;

    /** 服务工广 */
    @Excel(name = "服务工广")
    private String serviceWorkerArea;

    /** 订单状态 (1-待处理, 2-已完成, 3-已取消等) */
    @Excel(name = "订单状态 (1-待处理, 2-已完成, 3-已取消等)")
    private Integer orderStatus;

    /** 实付金额 */
    @Excel(name = "实付金额")
    private BigDecimal actualPaymentAmount;

    /** 用户备注 */
    @Excel(name = "用户备注")
    private String userNotes;

    /** 商家备注 */
    @Excel(name = "商家备注")
    private String merchantNotes;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 洗鞋数 */
    @Excel(name = "洗鞋数")
    private Long shoeCount;

    /** 洗衣数 */
    @Excel(name = "洗衣数")
    private Long laundryCount;

    /** 取鞋快递费 */
    @Excel(name = "取鞋快递费")
    private BigDecimal pickupExpressFee;

    /** 送鞋快递费 */
    @Excel(name = "送鞋快递费")
    private BigDecimal deliveryExpressFee;

    /** 退款额 */
    @Excel(name = "退款额")
    private BigDecimal refundAmount;

    /** 加价款 */
    @Excel(name = "加价款")
    private BigDecimal priceIncrease;

    /** 赔偿客户款 */
    @Excel(name = "赔偿客户款")
    private BigDecimal compensationAmount;

    /** 违约罚款 */
    @Excel(name = "违约罚款")
    private BigDecimal penaltyAmount;

    /** 快递赔付 */
    @Excel(name = "快递赔付")
    private BigDecimal expressCompensation;

    /** 洗涤费 */
    @Excel(name = "洗涤费")
    private BigDecimal laundryFee;

    /** 合作费 */
    @Excel(name = "合作费")
    private BigDecimal cooperationFee;

    /** 已结合作费 */
    @Excel(name = "已结合作费")
    private BigDecimal settledCooperationFee;

    /** 冻结款 */
    @Excel(name = "冻结款")
    private BigDecimal frozenAmount;

    /** 软件服务费 */
    @Excel(name = "软件服务费")
    private BigDecimal softwareServiceFee;

    /** 核销状态 (1-已核销, 2-未核销) */
    @Excel(name = "核销状态 (1-已核销, 2-未核销)")
    private Integer verificationStatus;

    /** 退款状态 (0-未退款, 1-退款中, 2-已退款) */
    @Excel(name = "退款状态 (0-未退款, 1-退款中, 2-已退款)")
    private Integer refundStatus;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }
    public void setBuyerPhone(String buyerPhone) 
    {
        this.buyerPhone = buyerPhone;
    }

    public String getBuyerPhone() 
    {
        return buyerPhone;
    }
    public void setSenderName(String senderName) 
    {
        this.senderName = senderName;
    }

    public String getSenderName() 
    {
        return senderName;
    }
    public void setSourceOrderId(String sourceOrderId) 
    {
        this.sourceOrderId = sourceOrderId;
    }

    public String getSourceOrderId() 
    {
        return sourceOrderId;
    }
    public void setPickupExpressNumber(String pickupExpressNumber) 
    {
        this.pickupExpressNumber = pickupExpressNumber;
    }

    public String getPickupExpressNumber() 
    {
        return pickupExpressNumber;
    }
    public void setDeliveryExpressNumber(String deliveryExpressNumber) 
    {
        this.deliveryExpressNumber = deliveryExpressNumber;
    }

    public String getDeliveryExpressNumber() 
    {
        return deliveryExpressNumber;
    }
    public void setPaymentDate(Date paymentDate) 
    {
        this.paymentDate = paymentDate;
    }

    public Date getPaymentDate() 
    {
        return paymentDate;
    }
    public void setSalesStore(String salesStore) 
    {
        this.salesStore = salesStore;
    }

    public String getSalesStore() 
    {
        return salesStore;
    }
    public void setOrderSource(String orderSource) 
    {
        this.orderSource = orderSource;
    }

    public String getOrderSource() 
    {
        return orderSource;
    }
    public void setServiceWorkerArea(String serviceWorkerArea) 
    {
        this.serviceWorkerArea = serviceWorkerArea;
    }

    public String getServiceWorkerArea() 
    {
        return serviceWorkerArea;
    }
    public void setOrderStatus(Integer orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus() 
    {
        return orderStatus;
    }
    public void setActualPaymentAmount(BigDecimal actualPaymentAmount) 
    {
        this.actualPaymentAmount = actualPaymentAmount;
    }

    public BigDecimal getActualPaymentAmount() 
    {
        return actualPaymentAmount;
    }
    public void setUserNotes(String userNotes) 
    {
        this.userNotes = userNotes;
    }

    public String getUserNotes() 
    {
        return userNotes;
    }
    public void setMerchantNotes(String merchantNotes) 
    {
        this.merchantNotes = merchantNotes;
    }

    public String getMerchantNotes() 
    {
        return merchantNotes;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setShoeCount(Long shoeCount) 
    {
        this.shoeCount = shoeCount;
    }

    public Long getShoeCount() 
    {
        return shoeCount;
    }
    public void setLaundryCount(Long laundryCount) 
    {
        this.laundryCount = laundryCount;
    }

    public Long getLaundryCount() 
    {
        return laundryCount;
    }
    public void setPickupExpressFee(BigDecimal pickupExpressFee) 
    {
        this.pickupExpressFee = pickupExpressFee;
    }

    public BigDecimal getPickupExpressFee() 
    {
        return pickupExpressFee;
    }
    public void setDeliveryExpressFee(BigDecimal deliveryExpressFee) 
    {
        this.deliveryExpressFee = deliveryExpressFee;
    }

    public BigDecimal getDeliveryExpressFee() 
    {
        return deliveryExpressFee;
    }
    public void setRefundAmount(BigDecimal refundAmount) 
    {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getRefundAmount() 
    {
        return refundAmount;
    }
    public void setPriceIncrease(BigDecimal priceIncrease) 
    {
        this.priceIncrease = priceIncrease;
    }

    public BigDecimal getPriceIncrease() 
    {
        return priceIncrease;
    }
    public void setCompensationAmount(BigDecimal compensationAmount) 
    {
        this.compensationAmount = compensationAmount;
    }

    public BigDecimal getCompensationAmount() 
    {
        return compensationAmount;
    }
    public void setPenaltyAmount(BigDecimal penaltyAmount) 
    {
        this.penaltyAmount = penaltyAmount;
    }

    public BigDecimal getPenaltyAmount() 
    {
        return penaltyAmount;
    }
    public void setExpressCompensation(BigDecimal expressCompensation) 
    {
        this.expressCompensation = expressCompensation;
    }

    public BigDecimal getExpressCompensation() 
    {
        return expressCompensation;
    }
    public void setLaundryFee(BigDecimal laundryFee) 
    {
        this.laundryFee = laundryFee;
    }

    public BigDecimal getLaundryFee() 
    {
        return laundryFee;
    }
    public void setCooperationFee(BigDecimal cooperationFee) 
    {
        this.cooperationFee = cooperationFee;
    }

    public BigDecimal getCooperationFee() 
    {
        return cooperationFee;
    }
    public void setSettledCooperationFee(BigDecimal settledCooperationFee) 
    {
        this.settledCooperationFee = settledCooperationFee;
    }

    public BigDecimal getSettledCooperationFee() 
    {
        return settledCooperationFee;
    }
    public void setFrozenAmount(BigDecimal frozenAmount) 
    {
        this.frozenAmount = frozenAmount;
    }

    public BigDecimal getFrozenAmount() 
    {
        return frozenAmount;
    }
    public void setSoftwareServiceFee(BigDecimal softwareServiceFee) 
    {
        this.softwareServiceFee = softwareServiceFee;
    }

    public BigDecimal getSoftwareServiceFee() 
    {
        return softwareServiceFee;
    }
    public void setVerificationStatus(Integer verificationStatus) 
    {
        this.verificationStatus = verificationStatus;
    }

    public Integer getVerificationStatus() 
    {
        return verificationStatus;
    }
    public void setRefundStatus(Integer refundStatus) 
    {
        this.refundStatus = refundStatus;
    }

    public Integer getRefundStatus() 
    {
        return refundStatus;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("buyerPhone", getBuyerPhone())
            .append("senderName", getSenderName())
            .append("sourceOrderId", getSourceOrderId())
            .append("pickupExpressNumber", getPickupExpressNumber())
            .append("deliveryExpressNumber", getDeliveryExpressNumber())
            .append("paymentDate", getPaymentDate())
            .append("salesStore", getSalesStore())
            .append("orderSource", getOrderSource())
            .append("serviceWorkerArea", getServiceWorkerArea())
            .append("orderStatus", getOrderStatus())
            .append("actualPaymentAmount", getActualPaymentAmount())
            .append("userNotes", getUserNotes())
            .append("merchantNotes", getMerchantNotes())
            .append("productName", getProductName())
            .append("shoeCount", getShoeCount())
            .append("laundryCount", getLaundryCount())
            .append("pickupExpressFee", getPickupExpressFee())
            .append("deliveryExpressFee", getDeliveryExpressFee())
            .append("refundAmount", getRefundAmount())
            .append("priceIncrease", getPriceIncrease())
            .append("compensationAmount", getCompensationAmount())
            .append("penaltyAmount", getPenaltyAmount())
            .append("expressCompensation", getExpressCompensation())
            .append("laundryFee", getLaundryFee())
            .append("cooperationFee", getCooperationFee())
            .append("settledCooperationFee", getSettledCooperationFee())
            .append("frozenAmount", getFrozenAmount())
            .append("softwareServiceFee", getSoftwareServiceFee())
            .append("verificationStatus", getVerificationStatus())
            .append("refundStatus", getRefundStatus())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
